Descriptions
There is no desription for trigger PERSONA_BI
 
Definition
CREATE TRIGGER PERSONA_BI FOR PERSONA ACTIVE
BEFORE INSERT POSITION 0
AS
/* Trigger body */
declare variable hoy date;
declare variable cola integer;
declare variable Vapellido2 char(20);
BEGIN
IF (NEW.ID_persona IS NULL) THEN
BEGIN
hoy = 'TODAY';
cola= GEN_ID(gen_persona,1);
if (new.apellido2_persona is null) then
Vapellido2 = new.apellido1_persona;
else
Vapellido2 = new.apellido2_persona;
if (cola <10 ) then
begin
NEW.id_persona = upper(substr(new.apellido1_persona,1,1)) ||
upper(substr(Vapellido2,1,1)) ||
substr((EXTRACT(YEAR FROM hoy)),3,4) || '000' || cola;
end
else
if (cola<100) then
begin
NEW.id_persona = upper(substr(new.apellido1_persona,1,1)) ||
upper(substr(Vapellido2,1,1)) ||
substr((EXTRACT(YEAR FROM hoy)),3,4) || '00' || cola;
end
else
if (cola<1000) then
begin
NEW.id_persona = upper(substr(new.apellido1_persona,1,1)) ||
upper(substr(Vapellido2,1,1)) ||
substr((EXTRACT(YEAR FROM hoy)),3,4) || '0' || cola;
end
else
begin
NEW.id_persona = upper(substr(new.apellido1_persona,1,1)) ||
upper(substr(Vapellido2,1,1)) ||
substr((EXTRACT(YEAR FROM hoy)),3,4) || cola;
end
IF ( cola >9999) THEN
EXECUTE STATEMENT 'SET GENERATOR GEN_persona TO 0';
END
if (new.datetime_insert is null) then
begin
new.datetime_insert = 'now';
end
END
| This file was generated with EMS InterBase/FireBird Manager (www.ibmanager.com) at 09/06/2005 05:52 p.m. |
|